package com.iflytek.education.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.iflytek.education.domain.UcenterMember;
import com.iflytek.education.domain.dto.UcenterPwdDto;

import java.util.List;

/**
 * 会员Service接口
 *
 * @author isahino
 * @date 2023-09-21
 */
public interface IUcenterMemberService extends IService<UcenterMember> {
    /**
     * 查询会员
     *
     * @param id 会员主键
     * @return 会员
     */
    UcenterMember selectUcenterMemberById(String id);

    /**
     * 查询会员列表
     *
     * @param ucenterMember 会员
     * @return 会员集合
     */
    List<UcenterMember> selectUcenterMemberList(UcenterMember ucenterMember);

    /**
     * 新增会员
     *
     * @param ucenterMember 会员
     * @return 结果
     */
    int insertUcenterMember(UcenterMember ucenterMember);

    /**
     * 修改会员
     *
     * @param ucenterMember 会员
     * @return 结果
     */
    int updateUcenterMember(UcenterMember ucenterMember);

    /**
     * 批量删除会员
     *
     * @param ids 需要删除的会员主键集合
     * @return 结果
     */
    int deleteUcenterMemberByIds(String[] ids);

    /**
     * 删除会员信息
     *
     * @param id 会员主键
     * @return 结果
     */
    int deleteUcenterMemberById(String id);

    /**
     * 会员登录，若成功则返回token
     *
     * @param ucenterMember 手机号、密码
     * @return token
     */
    String login(UcenterMember ucenterMember);

    /**
     * 会员注册
     *
     * @param ucenterMember 手机号、密码、昵称等等
     */
    void register(UcenterMember ucenterMember);

    /**
     * 修改密码
     *
     * @param pwdDto 会员id及新旧密码
     */
    void editPassword(UcenterPwdDto pwdDto);

    /**
     * 修改会员信息
     *
     * @param ucenterMember 会员信息
     * @return 修改结果
     */
    boolean updateInfoById(UcenterMember ucenterMember);
}
